package com.educate.ucenter.rpc.api;

import com.educate.ucenter.model.bo.FamilyBO;
import com.educate.ucenter.model.bo.FamilyMemberBO;
import com.educate.ucenter.model.po.FamilyMember;
import org.springframework.data.domain.Page;

import java.util.List;

public interface FamilyService {

    void create(FamilyBO bo);

    void delete(FamilyBO bo);

    void delete(String familyId);

    FamilyBO detail(String familyId);

    FamilyBO detail(FamilyBO bo);

    void update(FamilyBO bo);

    Page<FamilyBO> query(FamilyBO bo);

    List<FamilyBO> list(FamilyBO bo);

    /**
     * 我的家庭
     */
    List<FamilyBO> mine(FamilyMemberBO bo);

    /**
     * 添加家庭成员
     */
    void addFamilyMember(FamilyMember familyMember);


    FamilyBO getOrCreateDefFamily(String user);

    /**
     * 切换家庭的主小孩
     */
    void childMaster(FamilyBO bo);

    /**
     * 添加家庭成员
     */
    void memberAdd(FamilyMemberBO bo);

    /**
     * 家庭成员
     */
    List<FamilyMemberBO> members(FamilyBO bo);


    void memberUpdate(FamilyMemberBO bo);
}
